package com.fsxgt.datagrid.flow.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.fsxgt.datagrid.flow.bo.FlowComponentBO;
import com.fsxgt.datagrid.flow.bo.FlowInfoBO;
import com.fsxgt.datagrid.flow.bo.FlowRelationBO;
@Repository
@Mapper
public interface FlowInfoMapper {
	
	void insertFlowInfo(FlowInfoBO flowInfoBO);
	void insertFlowComponents(@Param("list")List<FlowComponentBO> list);
	
	
	void deleteFlowInfo(@Param("id")String id);
	
	void updateFlowInfo(FlowInfoBO flowInfoBO);
	
	void updateFlowInfoName(@Param("id")String id,@Param("name")String name);
	

	void updateFlowComponentName(@Param("name")String name,@Param("flowInfoId")String flowInfoId,@Param("componentSeq")String componentSeq);
	
	void deleteFlowComponentsByFlowId(@Param("id")String id);
	
	void deleteFlowRelationsByFlowId(@Param("id")String id);
	
	
	void insertFlowRelations(@Param("list")List<FlowRelationBO> list);
	
	FlowInfoBO findFlowInfoById(@Param("id")String id);
	List<FlowComponentBO> findFlowComponentsByFlowId(@Param("id")String id);
	List<FlowRelationBO> findFlowRelationsByFlowId(@Param("id")String id);
	
	
	List<FlowComponentBO> findFlowComponentsIsDelete(@Param("id")String id,@Param("list")List<FlowComponentBO> list);
	
	List<FlowInfoBO> findFlowInfoAll();
	
	

	
}
